#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //先往这里添加一些元素
    ui->listWidget->addItem("C++");
    ui->listWidget->addItem("Java");
    ui->listWidget->addItem("Python");

    //这样也可以，因为是往listWidget里添加，所以new时的父元素是listWidget
    //在QListWidgetIterm中，可以设置字体属性，设置图标，设置字体大小，设置是否被选中状态
    // ui->listWidget->addItem(new QListWidgetItem("C++"));
    // ui->listWidget->addItem(new QListWidgetItem("Java"));
    // ui->listWidget->addItem(new QListWidgetItem("Python"));
}


Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_insert_clicked()
{
    //先获取输入框中的内容
    const QString& text=ui->lineEdit->text();

    //添加到QListWidget中
    ui->listWidget->addItem(text);
}


void Widget::on_pushButton_erase_clicked()
{
    //先获取到被选中元素是哪个
    int row=ui->listWidget->currentRow();
    if(row<0){
        return;
    }
    //按行删除元素
    ui->listWidget->takeItem(row);

}


void Widget::on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
{
    //通过这个槽函数来感知变化
    if(current!=nullptr){
        qDebug()<<"当前选中元素是: "<<current->text();
    }
    if(previous!=nullptr){
        qDebug()<<"上次选中的元素是: "<<previous->text();
    }
}

